#pragma once
#include<iostream>
using namespace std;

/**
 * 抽象类，定义一些相同函数
 */
template <class Type>
class QueueAbs
{
public:
    virtual bool isEmpty() const = 0;
    virtual bool isFull() const = 0;
    virtual void initializeQueue() = 0;
    virtual Type front() const = 0;
    virtual Type back() const = 0;
    virtual void addElem(const Type &) = 0;
    virtual void deleteElem() = 0;
    virtual int queueLen() const = 0;
};
